1. Technical Field
Embodiments of the present invention generally relate to computers. More particularly, embodiments relate to multithreaded clustered microarchitectures having dynamic back-end assignment schemes.
2. Discussion
Multithreaded architectures and clustering are two paradigms for forthcoming microprocessors. Multithreaded architectures can process multiple threads in parallel and thus increase throughput. Clustering allows processors to be divided into simpler components while also reducing local wire delays to meet increasing microprocessor frequency demands. The concepts of multithreading and clustering may be separately known in microprocessors such as, for example, an Intel® Pentium® 4 Xeon™ processor and an Alpha 21264, respectively. While at least one processor may implement both multithreading and clustering, see, for example, Borkenhagen et al., A Multithreaded PowerPC Processor for Commercial Servers, IBM Journal of Research and Development, vol. 44, no. 6, p. 885 (2000), a combination of at least a multithreaded clustered microarchitecture including a dynamic back-end assignment scheme is not known in the art.
It should be noted that as used herein, the term “multithreaded” is used to refer to any organization that can process multiple threads, including but not limited to, multicore architectures. It should also be noted that as used herein, a “thread” is a part of a computer program that can execute independently of other parts of the computer program.